/*
 ============================================================================
 Name		: InputDataView.h
 Author	  : Vanderson Rodrigues
 Version	 : 1.0
 Copyright   : Your copyright notice
 Description : CInputDataView declaration
 ============================================================================
 */

#ifndef INPUTDATAVIEW_H
#define INPUTDATAVIEW_H

// INCLUDES
#include <aknview.h>
#include <akntabgrp.h>        // For handling tabs

//For Toolbar API
#include <aknappui.h>
#include <akntoolbarobserver.h>
#include <aknappui.h>

#include "InputDataViewContainer.h"

// UID of view
const TUid KVDataInputView = {2};

// FORWARD DECLARATIONS
class CInputDataViewContainer;

/**
 *  CInputDataView
 */
class CInputDataView : public CAknView, public MAknToolbarObserver
{
public:
    // Constructors and destructor

    /**
     * EPOC default constructor.
     */
    void ConstructL( );

    /**
     * Destructor.
     */
    ~CInputDataView();
    
public:
    // Functions from base classes
    /**
     * Return Uid
     */
     TUid Id() const;

    /**
     * Handle Commands
     */
    void HandleCommandL( TInt aCommand );

    /**
     * Handle Size changes
     */
    void HandleClientRectChange();

private:

    /**
     * From AknView, Activates view
     */
    void DoActivateL( const TVwsViewId& aPrevViewId, TUid aCustomMessageId,
                      const TDesC8& aCustomMessage );

    /**
     * From AknView, Deactivates view
     */
    void DoDeactivate();


    /**
     * Handle a command for toobar.
     * @param aCommand command id to be handled
     */
    void OfferToolbarEventL( TInt aCommand );
    
private:
    
    CInputDataViewContainer* iContainer;
};

#endif // INPUTDATAVIEW_H
